package bf;

import java.io.IOException;
import java.util.Date;

import bf.utils.FileAccess;

public class Logger {

	public static final int NORMAL = 100;
	public static final int SEVERO = 200;
	public static final int GRAVE = 300;
	
	
	public static String path = null;

	private static Logger singleton;
	
	private Logger(String path)
	{
		this.path = path;
	}
	
	public String getPath() {
		return path;
	}
	
	public static Logger getInstance()
	{
		if (Logger.singleton == null)
		{
			Logger.singleton = new Logger(Logger.path);
		}
		return Logger.singleton;
	}
	/**
	 * Devuelve true si se pudo loggear.
	 * @param severidad
	 * @param mensaje
	 */
	public boolean log(int severidad, String mensaje)
	{
		String dato = severidad + " - ";
		dato += new Date() + " - ";
		dato += mensaje + "\r\n";
		try {
			FileAccess.appendArchivo(this.getPath(), dato);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}
		return true;
	}
	
	public static boolean logM(int severidad, String mensaje)
	{
		return Logger.getInstance().log(severidad, mensaje);
	}
	
}
